home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD 2.1 / Amiga Developer CD v2.1.iso / NDK / NDK_1.3 / Include-Strip1.3 / include.h / graphics / gels.h < prev    next >
Encoding:
C/C++ Source or Header  |  1988-07-15  |  2.0 KB  |  112 lines

  1. #ifndef    GRAPHICS_GELS_H
  2. #define    GRAPHICS_GELS_H
  3. #define    SUSERFLAGS    0x00FF
  4. #define    VSPRITE    0x0001
  5. #define    SAVEBACK    0x0002
  6. #define    OVERLAY    0x0004
  7. #define    MUSTDRAW    0x0008
  8. #define    BACKSAVED    0x0100
  9. #define    BOBUPDATE    0x0200
  10. #define    GELGONE    0x0400
  11. #define    VSOVERFLOW    0x0800
  12. #define    BUSERFLAGS    0x00FF
  13. #define    SAVEBOB    0x0001
  14. #define    BOBISCOMP    0x0002
  15. #define    BWAITING    0x0100
  16. #define    BDRAWN    0x0200
  17. #define    BOBSAWAY    0x0400
  18. #define    BOBNIX    0x0800
  19. #define    SAVEPRESERVE    0x1000
  20. #define    OUTSTEP    0x2000
  21. #define    ANFRACSIZE    6
  22. #define    ANIMHALF    0x0020
  23. #define    RINGTRIGGER    0x0001
  24. #ifndef    VUserStuff
  25. #define    VUserStuff    SHORT
  26. #endif
  27. #ifndef    BUserStuff
  28. #define    BUserStuff    SHORT
  29. #endif
  30. #ifndef    AUserStuff
  31. #define    AUserStuff    SHORT
  32. #endif
  33. struct    VSprite
  34. {
  35. struct    VSprite    *NextVSprite;
  36. struct    VSprite    *PrevVSprite;
  37. struct    VSprite    *DrawPath;
  38. struct    VSprite    *ClearPath;
  39. WORD    OldY,    OldX;
  40. WORD    Flags;
  41. WORD    Y,    X;
  42. WORD    Height;
  43. WORD    Width;
  44. WORD    Depth;
  45. WORD    MeMask;
  46. WORD    HitMask;
  47. WORD    *ImageData;
  48. WORD    *BorderLine;
  49. WORD    *CollMask;
  50. WORD    *SprColors;
  51. struct    Bob    *VSBob;
  52. BYTE    PlanePick;
  53. BYTE    PlaneOnOff;
  54. VUserStuff    VUserExt;
  55. };
  56. struct    Bob
  57. {
  58. WORD    Flags;
  59. WORD    *SaveBuffer;
  60. WORD    *ImageShadow;
  61. struct    Bob    *Before;
  62. struct    Bob    *After;
  63. struct    VSprite    *BobVSprite;
  64. struct    AnimComp    *BobComp;
  65. struct    DBufPacket    *DBuffer;
  66. BUserStuff    BUserExt;
  67. };
  68. struct    AnimComp
  69. {
  70. WORD    Flags;
  71. WORD    Timer;
  72. WORD    TimeSet;
  73. struct    AnimComp    *NextComp;
  74. struct    AnimComp    *PrevComp;
  75. struct    AnimComp    *NextSeq;
  76. struct    AnimComp    *PrevSeq;
  77. WORD    (*AnimCRoutine)();
  78. WORD    YTrans;
  79. WORD    XTrans;
  80. struct    AnimOb    *HeadOb;
  81. struct    Bob    *AnimBob;
  82. };
  83. struct    AnimOb
  84. {
  85. struct    AnimOb    *NextOb,    *PrevOb;
  86. LONG    Clock;
  87. WORD    AnOldY,    AnOldX;
  88. WORD    AnY,    AnX;
  89. WORD    YVel,    XVel;
  90. WORD    YAccel,    XAccel;
  91. WORD    RingYTrans,    RingXTrans;
  92. WORD    (*AnimORoutine)();
  93. struct    AnimComp    *HeadComp;
  94. AUserStuff    AUserExt;
  95. };
  96. struct    DBufPacket
  97. {
  98. WORD    BufY,    BufX;
  99. struct    VSprite    *BufPath;
  100. WORD    *BufBuffer;
  101. };
  102. #define    InitAnimate(animKey)    {*(animKey)    =    NULL;}
  103. #define    RemBob(b)    {(b)->Flags    |=    BOBSAWAY;}
  104. #define    B2NORM    0
  105. #define    B2SWAP    1
  106. #define    B2BOBBER    2
  107. struct    collTable
  108. {
  109. int    (*collPtrs[16])();
  110. };
  111. #endif
  112.